
package com.mephi.interfaces;


import com.mephi.exception.NoSuchElementException;


/**
 * This interface contains set of available operations on list of games on Profile.
 * 
 * @author mephisto
 * @see SimpleProfile
 * 1.0 2011-05-26
 */
public interface ProfileList
{
	/**
	 * 
	 * @param profile the profile to add
	 * @throws NullPointerException if Profile is null
	 */
	void add(SimpleProfile profile);
	
	/**
	 * 
	 * @param id the id of Game to remove
	 * 
	 * @throws NoSuchElementException if Profile at id does not exist
	 * @throws NullPointerException if Profile is null
	 */
	void remove(String id) throws NoSuchElementException;
	
	/**
	 * 
	 * @param id the id of the game
	 * @return the Game at id
	 * 
	 * @throws NoSuchElementException if Profile at id does not exist
	 * @throws NullPointerException if Profile is null
	 */
	SimpleProfile getProfile(String id) throws NoSuchElementException;
}
